  $(function(){
	
		var MAX_TIME = 600;
		var time = 600;
		var has_Submit = 0;
		var  MAX_TEST = 2;
		
		
		//设置body的高
		$("body").css("height","100vh");

		//渲染背景
		$("body").css("background"," white url(http://pic.ffpic.com/files/2013/1222/1220hamjgqzmbz5.jpg) no-repeat").css("background-size","100% 100%");

			
			function show_content(content,type) {
				toastr.options = {
					closeButton: false,
					debug: false,
					progressBar: false,
					positionClass: "toast-top-center",
					onclick: null,
					showDuration: "300",
					hideDuration: "1000",
    				// timeOut: "1000",  
    				extendedTimeOut: "1000",
    				showEasing: "swing",
    				hideEasing: "linear",
    				showMethod: "fadeIn",
    				hideMethod: "fadeOut"
    			};
    			if (content == null) {
    				content = '';
    			}
    			var len = content.length;
    			if (len <= 10 && len > 0) {
    				toastr.options.timeOut = "1800";
    			} else if (len <= 20) {
    				toastr.options.timeOut = "2800";
    			} else if (len <= 30) {
    				toastr.options.timeOut = "3800";
    			} else if (len > 30) {
    				toastr.options.timeOut = "4800";
    			}

    			if(type=="alert"){
    				toastr.error("请补全您的信息");
    			}else{
    				//toastr.success("提交中！");
    			}

    		}
			/*
				url中获取参数
		*/
			function setMessage(){
				//var para = "score=20171905&name=袁飞煌&academy=软件学院";
				var para =  window.location.search;
				var paraArray = para.split("&");
				if(paraArray.length==0){
					window.location.href="login.jsp";
				}
				
				//设置id
				$(".score").html(paraArray[1].split("=")[1]);
				//设置题目
				paraArray  = paraArray[0].split("=")[1];
				
				var questions = paraArray.split(".");
				for(var j = 0;j<questions.length;j++){
					$(".paraArray").append("<span class=\"questionId\">"+questions[j]+"</span>");
				}
			}



			/**
				获取页面上存储的信息
				*/



			setMessage();
			/*
				获取显示的节点位置
				*/
		function getNextIndex(){
				//获取答了的题数
				var length = $(".questionId").length;
				//遍历
				if(length==0){
					return 0;
				}
				var index = $(".questionId").eq(0).html();
				$(".questionId").eq(0).remove();
				return index;
		}
		
		function getIndex(){
			//获取答了的题数
			var length = $(".test-question-body-div").length;
			//遍历
			if(length==0){
				return 0;
			}
			for(var i = 0;i<length;i++){
				var type = $(".test-question-body-div").eq(i).css("display");
				if(type=="block"){
					return i;
				}
			}
		}

			function getAnswer(){
				var answer = "";
				var length = $(".test-question-body-div").length;
				for(var i = 1;i<=length;i++){
					var lengthInput = $("input[name="+i+"]").length;
					answer+=i;
					var tempAnswer = "";
					for(var j = 0;j<lengthInput;j++){
						var type = $("input[name="+i+"]").eq(j).prop("checked");
						if(type==true){
							//获取被选中的答案
							tempAnswer+=$("input[name="+i+"]").eq(j).val();
						}
					}
					if(tempAnswer==""){
						tempAnswer="N";
					}
					answer+=tempAnswer;
				}
				return answer;
			}

			
			function submitAnswer(){
				//获取到所有的题号和数据
				var answer  = getAnswer();
				//如果获取的数据不高含答案  直接返回
				if(answer.trim().length==0){
					return;
				}
				
			/*
				发送ajax请求提交数据
			
				提交答案：
					上传的数据：
						每题答案：
							格式例如：1A2B....
							耗时
					需要回传的数据： 时间就可以js计算
						1.成绩
						2.排名

			*/	
				var name=$(".paraArray span").eq(1).html();
				var academy=$(".paraArray span").eq(2).html();
				has_Submit = 1;
				$.ajax({
						type:"POST",
						url:"QuestionServlet?method=calculateScores", 
						dateType:"json",
						data:{
							answer:answer,
							score:$(".paraArray span").eq(0).html(),
							name:name,
							academy:academy,
							time:(MAX_TIME-time)
						},
						success:function(data){
							//提交成功后：
							//name=袁飞煌&grade=100&academy=软件学院&time=333&rank=10
							
							window.location.href="grade.jsp?id="+data;
						}
				});
			}

			/*
				获取下一个题目的信息
			*/
				function getNextQuestion(){
					var showIndex = getNextIndex();
					/*
					上传的数据：
						当前页面上的题号
					需要的数据：
						下一题的数据：
							题目，选项
					*/
					var score = $(".score").html();
					$.ajax({
							type:"POST",
							dateType:"json",
							url:"QuestionServlet?method=giveTopic",
							data:{
								index:showIndex,
								studentId:score
							},
							success:function(data){
								/*
										data的格式：
										var str = {text:"1.关于健康，下列哪句话是不正确的", choose:"A.健康包括身体健康和心理健康B.不能只关注身体的健康C.现代社会中，心理健康受到越来越多的关注D.只有身体健康才能心理健康"}
										{a: ".胃溃疡", b: ".肺炎", c: ".高血压", questionId: 2, answer: "B", …}
								*
								*/
								//转换成json格式的字符串
								var result = JSON.parse(data);
								if(result["time"]!=undefined){
									var name=$(".paraArray span").eq(1).html();
									var academy=$(".paraArray span").eq(2).html();
									window.location.href="grade.jsp?id="+result["studentId"];	
									return;
								}
								var type = result["type"];
								//将数据与自定义数据整合
								result = spiltChoose(result);
								//获取题目的类型
								
								//隐藏当前显示的题目
								$(".test-question-body-div").eq(getIndex()).hide();
								var _result = "";
								if(type==0){
									_result = template("template-question-radios",result)
								}else if(type==1){
									_result = template("template-question-checkbox",result);
								}else if(type==2){
									_result = template("template-question-radio",result);
								}
								$(".question-list").append(_result);
							}
					});
				}

				/*
					1.关于健康，下列哪句话是不正确的
					A.健康包括身体健康和心理健康B.不能只关注身体的健康C.现代社会中，心理健康受到越来越多的关注D.只有身体健康才能心理健康
				*/

				getNextQuestion();


					/**
						传入一个json对象
					*/
				function spiltChoose(str){
					var qtext = str["question"];
					qtext = qtext.replace(".","").replace(qtext.charAt(0),"");
					

					var a = JSON.stringify(str["a"]);
					var b = JSON.stringify(str["b"]);
					var c = JSON.stringify(str["c"]);
					var d = JSON.stringify(str["d"]);
					
					a = a.replace(".","").replace("\"","").replace("\"","");
					b = b.replace(".","").replace("\"","").replace("\"","");
					c = c.replace(".","").replace("\"","").replace("\"","");
					d = d.replace(".","").replace("\"","").replace("\"","");
					
					
					//题目信息
					var json ={ index:qindex,question:qtext,a:a,b:b,c:c,d,d};
					var qindex = $(".test-question-body-div").length+1;					

					var other = {id1:qindex+"1",id2:qindex+"2",id3:qindex+"3",id4:qindex+"4",index:qindex}
					var s = $.extend({}, json, other);
					return s;
				}

				
			//下一题按钮  即提交11按钮
			$("#next-question").click(function(){
				$("#last-question").attr("disabled",true);
				//获取到正在显示的题号
				var show_index = 0;
				show_index = getIndex();
				var type = $("#next-question").html();
				if($("#next-question").html()=="下一题"){
					//判断页面生是否存在着下一题  存在不送ajax请求  直接显示下一题
					if(($(".test-question-body-div").length-1)>show_index){
						//显示下一题
						$(".test-question-body-div").eq(show_index+1).show().siblings().hide();
						//判断是否应该修改为提交按钮
						show_index = getIndex();
						if(MAX_TEST==show_index+1){
							$("#next-question").html("提交");
							$("#last-question").attr("disabled",false);
							return;
						}
					}else{
						//显示的是最后一题发送ajax请求获取下一题的题目
						//隐藏当前的题目
						//$(".test-question-body-div").eq(show_index).hide();
						getNextQuestion();
						show_index = getIndex();
						if(MAX_TEST==show_index+1){
							$("#next-question").html("提交");
							$("#last-question").attr("disabled",false);
							return;
						}
						
						//渲染数据
					}

					//判断是否是最后一题  是提交所有答案  假定最后一题题号是30
					
				}else{
					if(type=="提交"){
						//提交数据
						$("#next-question").html("提交中");
						$("#next-question").attr("disabled",true);
						show_content("提交中！","success");
						//显示巨幕
						
						//提交答案
						submitAnswer();
					}
				}
				$("#last-question").attr("disabled",false);
				
			});


			/*
				ajax上传答案，即提交按钮，自动提交，超时提交，页面切换提交
				*/

			//上一题按钮
			$("#last-question").click(function(){
				$("#next-question").attr("disabled",false);
				//获取到正在显示的题号
				var show_index = 0;
				show_index = getIndex();
				//不是第一题就显示上一题
				if(show_index != 0){
					$(".test-question-body-div").eq(show_index-1).show().siblings().hide();
					//将另一个按钮设置为下一题
					$("#next-question").html("下一题");
				}
				$("#next-question").attr("disabled",false);
			});
			
			
			
			/**
			 *	页面刷新时的事件
			 */
			window.onbeforeunload = function(){
				//判断答案是否被清空  页面上是否存在答案
				var answer = getAnswer();
				//答案不为空  且没有被提交
				if(has_Submit==1){
					return;
				}
				submitAnswer();
			}
			
			//计时器
			function lessTime(){
				if(time==0){
					//禁止使用提交按钮
					$("#next-question").attr("disabled",true);
					$("#last-question").attr("disabled",true);
					show_content("自动提交中！","success");
				}else if(time==-1){
					clearInterval(timeInterval);
					//指定函数
					has_Submit = 1;
					time = 0;
					submitAnswer();
				}
				var minutes = Math.floor(time/60);
				var seconds = time-(minutes*60)
				if(seconds<10){
					$(".less-time").html(minutes+":0"+seconds);
				}else{
					$(".less-time").html(minutes+":"+seconds);
				}
				time--;
			}
			var timeInterval = setInterval(lessTime,1000);
		});